Симетричні та асиметричні методи зашифрування інформації

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Кафедра автоматики та телемеханіки

Інформація про роботу

Рік:
2005
Тип роботи:
Курсова робота
Предмет:
Методи та засоби криптографічних перетворень
Група:
ІБ – 42

Частина тексту файла

МІНІСТЕРСТВО ОСВІТИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА” Кафедра автоматики та телемеханіки Курсова робота з курсу: „Методи та засоби криптографічних перетворень” на тему: “Симетричні та асиметричні методи зашифрування інформації” Львів – 2005 Зміст Завдання 1 Теоретичні відомості Вибір ключа Блок-схема алгоритму Список ідентифікаторів Текст програми Відкритий текст Результат зашифрування Завдання 2 Теоретичні відомості Вибір ключа Зашифрування Розшифрування Висновок Завдання 1 Вибрати ключі та розробити програму для за шифрування файлу даних заданим афінним шифром. Тип афінного шифру визначається останньою цифрою i НЗК. Об‘єм алфавіту визначається передостанньою цифрою j НЗК і дорівнює . i i mod 6 Тип афінного шифру j Розрядність алфавіту  Об‘єм алфавіту   4 4 Лінійний -го порядку 4 9 512   Теоретичні відомості Афінні шифри- підклас шифрів заміни, що включає, як частковий випадок шифр Віжінера і навіть шифр перестановки з фіксованим періодом. N-символьний алфавіт ототожнюємо з кільцем . А саме кожна буква замінюється своїм номером у алфавіті, причому нумерація починається з нуля. Наприклад, латинська абетка ототожнюється із , а українська із . Літера а української абетки трактується як нуль, літера б як 1, в як 2. Тепер до букв відкритого тексту ми можемо вільно застосовувати операцію додавання та множення за відповідним модулем. Лінійний шифр. Ключі: a таке, що , . Шифрування. У повідомлені кожна буква  заміщується буквою . Дешифрування. У криптотексті кожна буква  заміщуються буквою ,де . Афінні шифри вищих порядків. Для розширення попереднього методу потрібно щоб вони оперували з -грамами для довільного . Для реалізації лінійного шифру -го порядку необхідно -граму (стовпець з  елементів) вхідних символів помножити на матрицю-ключ .  Ключ. . Шифрування. Повідомлення розбивається на -грами. Кожна -грама  заміщується -грамою . Дешифрування. Кожна -грама  заміщується -грамою , де , де  є дешифруючим ключем. Вибір ключів  Блок-схема алгоритму    Список ідентифікаторів Ідентифікатори Призначення  const int a[2][2] Ключ  const int n=512 Розмір алфавіту  FILE *fin Вхідний файл  FILE *fout Зашифрований файл  int eoffin Прапорець кінця файлу  int x_OK Прапорець готовності прочитаного символа  int x_OK Прапорець готовності зашифрованого символа  unsigned long buf1 Вхідний буфер (32 біти)  unsigned long buf2 Вихідний буфер (32 біти)  unsigned long x Проміжний символ (9 біт)  unsigned long x1[2] Вхідний масив символів  unsigned long x2[2] Вихідний масив символів  int c1 Лічильник непрочитаних бітів вхідного буфера  int c2 Лічильник незаповнених бітів вихідного буфера  int c4 Лічильник символів для реалізації блокового шифрування   Текст програми #include <stdio.h> #include <math.h> #include <conio.h> #include <stdlib.h> #include <string.h> const int a[2][2]={{103, 199}, {203, 123}}, n=512; void main(void) { char *str; FILE *fin, *fout; int eoffin=0, x_OK=1, x_OK1; unsigned long buf1, buf2 = 0, x, x1[2], x2[2]; int c1=32, c2=32, c4=0, i; if ( (fin=fopen("c:\\file.pl", "rb")) == NULL ) { printf("cannot open the file data.fb"); getch(); exit(1); } else if ( (fout=fopen("c:\\file.enc", "wb")) == NULL ) { printf("cannot open the file data.fbc"); getch(); exit(1); } else { if (fread(&buf1, 1, 4, fin) != 0) while (!eoffin) { if (c1<=0) { if (fread(&buf1, 1, 4, fin) != 0) { x |= (buf1 << (9+c1)) & 511; buf1 >>= (-c1); c1 += 32; x_OK = 1 & !(c1==32); } else { eoffin = 1; x_OK = 1; } } else { x = buf1 & 511; buf1 >>= 9; c1 -= 9; x_OK = 1 & (c1>=0); } /*--------------------------------*/ if (x_OK) { x1[c4]=x; if (c4==2) { for(i=0;i<2;i++) { x2[i]=(unsigned int)fmod((a[i][0]*x1[0]+a[i][1]*x1[1]), n); itoa(x2[i], s...
Антиботан аватар за замовчуванням

01.01.1970 03:01

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини